문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 프로세스 스케줄링 (문단 편집) === 프로세스 상태 (Process State) === 프로세스는 다음 5가지 상태 중 하나를 가진다. *생성(create) : 프로세스가 생성되는 중이다. *실행(running) : 프로세스가 프로세서를 차지하여 명령어들이 실행되고 있다. *준비(ready) : 프로세스가 프로세서를 사용하고 있지는 않지만 언제든지 사용할 수 있는 상태로, CPU가 할당되기를 기다리고 있다. *대기(waiting) : 프로세스가 입출력 완료, 시그널 수신 등 어떤 사건을 기다리고 있는 상태를 말한다. *종료(terminated) : 프로세스의 실행이 종료되었다. 아래는 프로세스의 상태전이이다. *디스패치(Dispatch) : 프로세스가 준비 상태에서 실행 상태로 전환되었다. *타이머 런아웃(Timer Runout) : 프로세스가 실행 상태에서 준비상태로 전환되었다. 일반적으로 선점 프로세스에서 발생한다.[* 예를들어 버스트시간(실행시간)이 100ms로 설정된 RR 알고리즘에서 A라는 프로세스가 100ms 내에 작업을 끝내지 못했거나, 작업을 마쳤음에도 어떠한 사유에 의해 자원반환을 하지 않을 경우 타이머 런아웃 상태가 된다.] *블록(Block) : 프로세스가 자원 부족, I/O 입출력대기, [[인터럽트]] 등 다른 사유에 의해 실행 상태에서 대기 상태로 전환되었다. *활성화(Wake-up) : 프로세스가 부족한 자원을 재할당 받았다는 등의 사유로 대기 상태에서 준비 상태로 전환되었다. CPU가 한 프로세스를 처리하다가 다른 프로세스로 전환하면서 '''컨텍스트 스위칭'''(문맥교환)이 발생한다. 프로세스가 사용하는 레지스터 등 여러 자원들을 메인 메모리에 저장하고 다음 프로세스가 사용하는 자원들을 메인 메모리에서 가져온다. 문맥교환은 전환시간이 짧을 수록 더욱 자주 발생하여 오버헤드가 높아진다. 문맥교환은 PCB(Process Control Block)에 의해 이루어진다. [[운영체제]]는 준비 큐(Ready Queue), 대기 큐 (Waiting Queue) 등의 자료구조를 두어 이들 프로세스를 관리한다. 준비 큐는 준비 상태에 있는 프로세스들을 모아놓은 [[큐(자료구조)|큐(Queue)]]이다. [[운영체제]]는 CPU 스케줄러(CPU Scheduler)를 통해 준비 큐에 있는 프로세스 중 한 프로세스를 골라 다음에 실행시킨다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기